# Baserow — Tradução de: Baserow — Tipo: Playlist — Data: 09-01-2025 00: 10: 15 ## Vídeo 1: [Link do vídeo (Idioma: pt)](https://www.youtube.com/watch?v=B5YWLIKfE2g) ### Olá seja bem-vindo! Vamos automatizar o código ouvindo que desse vídeo eu vou apresentar o Bèijum — um banco de dados em código aberto e uma ótima alternativa ao Herdeiro. Caso você seja novo por aqui, já se inscreva no canal [Ativo Sininho](https://www.youtube.com/channel/UC8ZSPZR4fBSh2-GovDFczMg) para ser notificado sempre tivermos um novo conteúdo. Então vamos lá! ### Vamos conhecer melhor essa ferramenta incrível: Beijo! É o site [21](https://www.beijou.com/) — então Vamos conhecê-lo um pouco melhor. ### Sobre o Beijo: É uma ferramenta amigável sem código que oferece poderes para você analisar, gerenciar e exportar aplicativos web. Ela é uma versão renovada para um vestido que você pode criar um próprio banco de dados online sem experiência técnica comum. ### Recursos introduzidos: - Painel e Shield - Permissões de usuário (Administração) - Recursos Previstos (ficarão disponíveis em breve) ### Recursos previstos (a serem implementados): Eles têm um site [Gosmeca](https://gosmeca.com/) com um roteiro para as implementações. É possível exportar XML Divisão, mas esta funcionalidade estará disponível apenas na versão Premium. ### Em termos de Visualização: - Tabela Formulário - Galeria para todos os planos - Atualmente Kanban apenas para a versão Premium, mas devido ao fato de estar em uma fase Beta, acesso a essa funcionalidade pode ser obtido por aqueles que contribuam. ### Principais características da versão Premium: - Plano Hosted (gratuito por enquanto) que disponibiliza grupos de dados, tabelas, linhas ilimitadas - Disponibiliza extensões para a sua UTI - Quando necessário, você pode importar modelos da excessão e dividir em várias divisões - Exportar para XLSX - Disponibilizou arquivos nas tabelas - Permite compartilhamento de visão pública (ex: com clientes) - Recurso de Tabela Modelar que permite interação com dados atuais ### Implementações futuras: - Site - Calendário - Pesquisa e Conversas em Termos de Campo (Campo Largo) - Planos Altos Hosted (pra quem deseja ter um plano mais poderoso e possuir o aplicativo instalado em seu servidor) - Recursos para Administração (mais recursos para futuramente em termos de visualização) - Versão Imprimível (Projeto para a versão Premium) # Novo Vídeo: Utilização da Ferramenta `Crack Bot` no Blog ## Introdução Este vídeo mostrará como utilizar a ferramenta `Crack Bot` em seu blog. ### O que será aprendido Nesse vídeo, aprenderá como utilizar uma segunda via de cobrança com `Crack Bot`. ## Detalhes do Vídeo * Fará o uso do programa `Boop` para consulta de `8mp` com webhook * Extrará os dados pessoais do cliente do CPF * Enviará os dados para o webhook `M8R` * Informará detalhes de utilização da ferramenta `CRACK Bot` no Brasil * Demonstrará a utilização de um PDF do boleto no Brasil * Incluirá detalhes de utilização em outros ambientes como `WordPress` ## Procedimento Aqui estão a seguinte etapas do vídeo. ### 1. Configuração do Webhook Deve-se configurar webhooks para que possam receber informações da aplicação. #### Webhook Utiliza-se a biblioteca `8mp`. ### 2. Obtenção de dados pessoais do cliente Coleciona-se os dados pessoais do cliente em função do CPF. #### Ação * Extrairá informações pessoais do cliente com base no CPF * Envia ao webhook `M8R` para consulta no Beijo * É possível um retorno com o endereço do cliente ### 3. Utilização do PDF do boleto Utiliza-se o botão para que o cliente possa gerar o PDF do boleto. #### Ação * Recebe o PDF do boleto do Brasil * Adiciona-o à sua coleção de documentos armazenados no Brasil ### 4. Teste Se queira verificar se tudo está funcionando corretamente, é possível fazer um teste com o código fornecido. #### Ação * Realiza um teste utilizando o código fornecido * Intenta falar com o M8R ## Utilização da ferramenta `CRACK Bot` Toma-se a seguinte etapa para manter informações da aplicação up-to-date. ### Passo 1: Adicionar CPF e Número de Cães * Adiciona o CPF ao botão `Music` * Adiciona o Número de Cães ao campo de formulário `Dogs Count` * Envia os botões criados para o webhook ### Passo 2: Com algum cachorro, selecionei a tabela segunda via ativei o que o retorno fosse para retornar todos * Adiciona um botão para o envio de segundo boleto * Adiciona um filtro nos dados selecionados com base nos campos CPF e número de frente * Coloca o filtro para que apenas esses dados apareçam nessa tabela ### Passo 3: CPF e número de crenti * Adiciona um botão para abrir o formulário com os dados do boleto * Premia o campo `CPF` e o `Client ID` na mesma linha * Utiliza o número obtido nessa linha para buscar os dados no banco de dados * Mostra os dados retornados pelos mesmos ### Passo 4: Envio do PDF * Cria-se um bloco na seção `PDF` no banco de dados `Brasil` * Adiciona o URL do PDF coletado nesse bloco * Utiliza o código do `PDF` para gerar a visualização do PDF ## Referências * [Crack Bot](https://github.com/jaumevdb/Crack-Bot) Olá! Bem-vindo ao meu canal, aqui vou ensinar-te a criar um botão para o Telegram utilizando o OneBot. Se você não conhece o OneBot, você encontra uma introdução à ferramenta na descrição do vídeo. Se gosta do conteúdo deste tipo, ainda não está inscrito no canal - aproveite e inscreva-se! Agora vamos ao ponto principal. Vamos criar um botão para o Telegram. Primeiramente, configure as sete bolas médias Borges em 900. Se a opção de venda não for disponível, também habilite a consulta. Vou explicar rapidamente cada uma destas sete ordens de boleto: 1. **Início (Clique aqui)**: Aqui você começa a configuração do botão para o Telegram. 2. **Criando o botão de envio API Documentation**: Aqui você envia a documentação de API dos bancos de dados que irá utilizar. 3. **Listando as Joseph de Pontes**: Aqui é possível inserir a lista de nomes para consulta nos registros. 4. **Configurações para consultar campos**: Aqui você seleciona os campos a serem listados, bem como as configurações de filtro. 5. ** Listando campos**: Aqui você seleciona os campos a serem exibidos na resposta da consulta. 6. **Informações adicionais (opcionais)**: Aqui você pode incluir informações adicionais, como set-point, por exemplo. 7. **Atualizando uma linha**: Aqui você pode definir as configurações para atualizar uma linha na tabela. Para um exemplo concreto, vou utilizar o seguinte cenário: - **Inicial: ** Vou utilizar os nomes Misty e Update. - **Armazenando os filtros**: Vou utilizar os filtros de CPF e número e usuários formulados, respectivamente. - **Listando campos: ** Vou listar os seguintes campos: Nome, Endereço e Id. - **Informações adicionais (opcionais): ** Não utilizo nenhuma informação adicional nesse exemplo. - **Atualizando uma linha: ** Vou atualizar a linha do id 1 com o endereço "TRF-RJ". Para poder fazer o teste, use as seguintes variáveis: - ***BaseURL: *** (o URL da API das informações). - ***APIKEY: *** (chave de acesso à API). - ***headerContent: *** (cabeçalho HTTP da API). - ***parametros***: (número de parâmetros e seus valores). Aqui comecei a configuração do botão: Não vou mostrar aqui toda a configuração do bot, uma vez que muitos passos repetem-se entre os diferentes comandos do bot e não seriam incluídos aqui. Se tudo estiver funcionando corretamente, após a conclusão da configuração, você receberá uma mensagem de sucesso: > *O botão para o Telegram foi criado com sucesso. * # Configuração do Chatbot (Português de Portugal) Criando sete blocos - **Playground** Lembre-se de clicar aqui no botão [▶️] exageradamente agora. Aqui, pode digitar o nome do vídeo que deseja mostrar - **Dados de Voz** No caso de vídeo de apresentação do Brasil ou em qualquer outro em que utilize o Soapbox no Telegram, as vozes utilizadas são: 1. Português - antigo (for) 2. Português - do Telegram Neste exemplo, apenas a versão antiga (for) é usada. - **Triggers e Ajuda** Configure aqui o auxílio para selecionar sua credencial para criar a credencial, é necessário que você precise lá de alguns passos. Neste vídeo (que foi adicionado à descrição), estarei mostrando etapa a etapa para criar sua conta no Sofá (na Sofa), dentro do próprio app elegante (Elegance). 1. Escolha `Zap`, selecione aqui as opções `Conexão`, `Improviso`, `Atualizações` e `Unicórnio` e comenta esta configuração 2. No nó `Condicionais`, você pode seguir uma condição simples: quando você entra no chatbot, automaticamente ele já envia o comando `start`, ou quando você não tiver `start`, você colocará nenhum código específico neste campo e ele vai ignorar qualquer mensagem que não contenha o `start`. Para definir que uma mensagem é válida, você deve selecionar opções `Alguma Combinação`. Caso esteja usando uma condição diferente da `start` (por exemplo, verificar a presença de um identificador personalizado), certifique-se de utilizar o valor desejado em vez de `start` para a `condição verdadeira`. Quando se satisfezem as condições para entrar na `condição verdadeira`, você deve estabelecer o seu caminho seguinte e as saídas desejadas. Veja alguns exemplos para uma melhor compreensão: - **Saída 1** - **Saída 2** Em alguns casos, será necessário voltar às opções de menu ou encerrar o atendimento. O comando utilizado para estas ações pode ser selecionado em `opções de ação`. Existe a opção de adicionar um link de texto, botão ou até imagem para este comando. - **Opção de Voltar ao Menu** Por exemplo: ao final do atendimento, se uma segunda via for necessária, você pode voltar ao menu principal para fazer a operação novamente. Em alguns casos, você poderá apenas informar alguma mensagem à pessoa ou pedir que ela entre com seu NIF e o boleto em aberto será mostrado para ser descartado com as instruções de que seja pago. Por exemplo, você poderá adicionar uma imagem do número de boleto para aumentar a facilidade na descarta-lo em uma única ação do usuário. - **Opções de Vendas** No caso das opções de venda ou compra (como cobranças ou assinaturas por exemplo), é necessário ter uma integração com pagamentos a fim de gerar cobranças, receber o pagamento e enviar uma mensagem de confirmação a ser exibida para a pessoa. 1. Seguir este passo-a-passo para configuração de operações de venda. 2: Configurar mensagens de texto Cada mensagem de texto deve ser configurada com detalhes específicos para cada situação. As configurações para mensagens de texto incluem: - Mensagem padrão que é enviada quando a operação inicial é concluída com sucesso. - Mensagens de falha que são enviadas quando a operação inicial não é possível devido a condições inesperadas. ## Etapa 3: Configurar as opções As opções podem ser personalizadas com base nas preferências e necessidades específicas do usuário. O seguinte são alguns exemplos de configurações para opções: - Opção `Sair` que permite que o usuário termine o processo de atendimento. - Opção `Botão` que leva o usuário para a conhecer nossa missão. - Opção `Mensagem de texto` que solicita informações específicas do usuário. ## Etapa 4: Configurar credenciais e conta As credenciais são necessárias para a autenticação no serviço. Os passos necessários para configurar as credenciais e conta incluem: - Selecionar o tipo de credencial para utilizar: banco de dados ou Skype. - Entrar com o e-mail e senha para o serviço autorizado. ## Etapa 5: Configurar opções de retorno As opções de retorno são importantes para garantir que a operação finalize com sucesso ou retorne mensagens para o usuário caso falhe. - Utilizar um filtro de consulta na tabela para retornar informações específicas para o usuário. - Utilizar a mensagem de texto para retornar informações personalizadas para o usuário. - Utilizar um vídeo para mostrar o processo passo a passo na configuração. ``` Obs: mantive a formatação Markdown original. # Automatização de Publicações em Páginas do Facebook Utilizando a ferramenta N8M, é possível automatizar os processos de publicações em páginas do Facebook. A seguir, apresentamos passo a passo como realizar a automação: ## Criação do Aplicativo no Facebook 1. No site [Developers. Facebook. com](http://Developers.Facebook.com), crie seu aplicativo para interagir com as funcionalidades de publicação. 2. Inicie sessão na conta empresarial do Facebook. 3. Obtenha um token de acesso da página (válido por 60 dias) e ` token de banda larga` (se necessário). ## Instalação do Aplicativo no N8M 1. Criar um novo Workflow no N8M Aplicativo. 2. Atribua o token de acesso à página e o token de banda larga ao respectivo campo. ## Configuração dos Dados de Publicação 1. Obter a descrição e a imagem para serem publicadas. 2. Armazenar os dados obtidos diretamente no banco de dados N8M (utilizando um código gratuito disponível). ## Utilização do "`get`" para obter a URL da imagem 1. Utilize ao método `get` na URL da imagem para gerar a URL completa. ## Criação da Publicação 1. Utilizar a ação `facebook create post` para publicar a mensagem na página selecionada. ## Outros Recursos ### Adicionar Filtros 1. Opcionalmente, adicione filtros para selecionar apenas registros que atendam determinados critérios (utilizando a ação `json filter`). ### Criação de Links e anexo de arquivos 1. A action `urlencode` pode ser utilizada para gerar o link completo de um arquivo ou um HTML. 2. A action `file` pode ser utilizada para anexar arquivos binários ao post criado. Ao seguir todas as instruções acima, você estará pronto para publicar mensagens em suas páginas do Facebook utilizando a ferramenta N8M. **[Inscrever-se no meu canal no YouTube para mais conteúdo](https://www.youtube.com/watch?v=7BItnNzfiUc)** Qualquer dúvida ou passar a revista em uma consulta, você encontra o meu email no currículo, ou compactuar seguir-me no Twitter [@balbinoClaudio](https://twitter.com/balbinoClaudio) para se manter atualizado sobre tudo o que está acontecendo no mundo da programação automatizada ou nas úteis ferramentas para execução de processos em massa. **A crédito: Ocorreram uma certa falha na penúltima linha do texto e nesse trocaram certos termos para os que baseiam no contexto, outra aula que está incompleta e precisionará alguns links que são necessários, mas manteve-se o texto como está para manter a integridade do mesmo. ** **Automatização de Publicações em Redes Sociais** ## JavaScript A teoria é tudo bem, mas a prática faz o mago. Vamos ver algumas configurações práticas para utilizar a N8 para automatizar as publicações em redes sociais. ## Criando uma nova solução Para criar uma nova solução no n8n, você precisará primeiramente adicionar um novo passo "Dados de entrada". Neste passo, está a lista de dados necessários para configurar a publicação. Por exemplo: ```markdown - Token de acesso (Facebook, Instagram) - URL da imagem - Descrição - Título ``` Depois, você pode adicionar um novo nó "HTTP Request" para acessar a API de publicação no Facebook ou no Instagram, dependendo da plataforma que você deseja utilizar. Realize as seguintes configurações no nó "HTTP Request": - Selecione a **opção "POST"**. - Em seguida, informe a **URL da API de publicação**. - Adicione um **cabeçalho personalizado** com o tipo `"Authorization"` e com o valor do seu token de acesso. ## Enviar POST Agora selecione o nó "HTTP Request" anterior recém criado e adicione outro novo nó "HTTP Request" para fazer o envio de POST, seguindo as mesmas configurações. Observe que, além das configurações já feitas anteriormente, você precisará incluir as seguintes configurações: - **Corpo da solicitação** com o JSON para enviar as informações necessárias para realizar a publicação na plataforma de rede social em questão. Isso é importante, pois não se trata apenas de fazer apenas uma requisição GET. Ao criar uma postagem, você precisa também enviar o nível de acesso, a descrição, o conteúdo e outras informações necessárias. ## Automatizando o envio Agora que tudo está preso em seu fluxo de trabalho, você pode clicar em "Executar" para testar sua automação. Se tudo fizer tudo certo, a postagem será exibida em sua rede social conforme defineu. Já pode agora pensar em criar seus próprios fluxos de trabalho para atender as suas necessidades específicas, usando o n8n. **Desculpe se houver algum erro de formatação, mas faço esse trabalho sem meio de recursos de impressão, por isso, é possível algumas falhas no texto aqui. Agradeço qualquer feedback e/ou correção que possam me avisar. ** ```markdown # Fazer essa verificação é um processo bem simples Vou clicar aqui em **começar** **Selecionar as duas opções** Adicionei **Pedia para confirmar** Vou clicar aqui em **continuar** `Cai aqui nessa tela` Pede para **confirme** estar em conformidade com os termos da plataforma e política do desenvolvedor Vou clicar aqui e confirmar ### **Importante** Você deveria **ler daqui** a atenção Vou clicar em **continuar** Aqui ele diz que a **verificação do uso do canal/aplicativo** está aprovada para os produtos e recursos e permissões a seguir Vou clicar aqui em **enviar** #### **Lista de permissões** - **Ou outras** apenas: liste apenas as listadas **Processo** bastante rápido, depois já deu com **a verificação** e ela já foi concluída Então já saiu aquela mensagem, a minha **verificação** pronta **Agora**: vamos fazer agora - **Eu vou dar dois cliques** aqui no aplicativo - **Abrir o aplicativo**, canal e clicar em **produtos** - Adicionar **api do Instagram** - Clica em **Adicionar produto** e eles trazem todos os produtos, vou adicionar a **Gra pi do Instagram** - Clica em **Configurar** - **Ela já foi adicionada** ao meu aplicativo - Passe aqui: **Gra API do Instagram** - **Próximo passo**: clicar aqui em **Ferramentas > Explorador da Graph IPI** - Seleciona o **aplicativo que você criou** (nesse caso, já tem alguns) - Seleciona **video do canal** na sequência - Abaixo, seleciona **usuário ou página** - **Escolha a página** Agora **automatizar**: vou precisar adicionar **permissões** adicionais - Preciso receber esta **permissão** aqui de **Instagram ads Management** - Marcar **Business Manager** - Instagram Basic - Instagram Content Publish - Instagram Content Publish - **Seja trabalhador** (pequena correção) no **evento de Envio de Mensagens pronto** da sua aplicação do Facebook e selecione - **O procedimento** aqui é adaptável, caso você tenha publicações em horários diferentes - **H**: obter as informações da publicação **lá** no base room - **Escolha a minha credencial aqui em Research** - **R Room** e **Operation get All** - Minha database que é **redes sociais** e a tabela dessa database aqui que **apenas tem uma** que é **publicações** aqui eu deixei como 50, mas não vou trazer - Adicionei aqui alguns filtro - Primeiro filtro: ** Instagram lá na minha tabela** - Campo precisa de preenchimento, então tá marcado - Segundo filtro: **o meu a minha coluna n8n** - Campo deve estar vazio, então marcado - Após a execução do workflow e a execução do terceiro filtro, a coluna **data** deve estar igual a **hoje** - Eu vou selecionar **data igual a hoje** - Têm três campos, clicar aqui em **executar** - Tenho **um registro**, ele está aqui, ele traz um resultado, então vou fazer a publicação dessa postagem Não deixar o processo completar #### **Parágrafo** . . . Não incluí porque foi descartado no vídeo sem discussão. . . #### **Criar o contêiner** - Voltar aqui pra **página de publicação** - Content previamente removido: Enrganging something - Criação requer **criar o contêiner utilizando o Ed Point com essa configuração** - O **segundo passo** é publicar esse contêiner, utilizando-o Ed Point - Vou obter a resposta com base na resposta eu vou fazer a publicação do contêiner - Vou mostrar aqui a configuração utilizada para criar o contêiner nele - Configurar o nó **http request** para criar o Contender - Método post, nossa URL e URL nossos nossos - Conta Instagram - Instagram Business account - Usando a credential **saída** - Imagem e caption, adicionei lá - Resposta Format do tipo de cada um depois, formulário json - Para obter a imagem, URL e o caption eu vou selecioná-los lá dentro - Então a minha URL estará aqui selecionada - Adicionei também o token neste caso, SS Token utilizando o token de longa duração como eu mostrei no vídeo anterior - **Atualizar aqui**: Between hex agencies, solicitando a revisão do rem Bull. . . ``` Este é o texto corrigido com a formatação e estrutura do Markdown para português de Portugal conforme as suas especificações. # Automatização de Publicação em Redes Sociais: Como Funciona? (Pt) Este é um tutorial que ensina a automatizar a publicação de conteúdo em diferentes redes sociais, utilizando funções simples e um banco de dados simples chamado Airtable. ## Requisitos - Conta Airtable - Conta no Facebook, Twitter, Instagram e LinkedIn - Aplicativo Airtbase ## Passo 1: Organizar as informações Crie uma base de dados em Airtable e criar uma tabela `postagens` para armazenar as informações de como e quando será publicado cada post. ### Estrutura da Tabela | Categoria | Rede Social | Data Publicação | Link Imagem | Observações | | --- | --- | --- | --- | --- | | Notícias | Facebook | 6/09/2021 | [Link da imagem] | N/A | | Convidado | Telegram | 6/09/2021 | N/A | N/A | | Notícias | Instagram | 6/09/2021 | [Link da imagem] | N/A | | Notícias | LinkedIn | 6/09/2021 | [Link da imagem] | N/A | | Notícias| Twitter | 6/09/2021 | [Link da imagem] | N/A | ## Passo 2: Obter as informações da rede social Utilizar um aplicativo como Again-app, Zapier ou IFTTT para obter as informações da rede social, como o horário ideal para publicar o post, as chances de engajamento e outras informações. ## Passo 3: Comunicar com o Airtable Como essas informações vem de um aplicativo externo, precisaremos de um método para que ela se comunique com o Airtable. Para isso, utilizaremos o Airtable API e um script JavaScript para cadastrar as informações nas tabelas. ```javascript // Script JavaScript para cadastro na tabela 'postagens' do Airtable const airtable = require('airtable'); const base = new airtable({apiKey: ' sue_api_key '}). base('app_id'); const table = base('postagens'); function addPost(data) { return new Promise((resolve, reject) => { table. append([data], function(err, records) { if(err) { reject(err); } else { resolve(records[0]. id); } }); }); } //. . . // Exemplo de chamada da função addPost addPost({ "categoria": "Notícias", "rede_social": "Facebook", "data_publicacao": "06/09/2021", "link_imagem": "https://www.exemplo.com/imagem.jpg", "observacoes": "N/A" }). then(function(postId) { console. log(`Post agendado com sucesso! ID: ${postId}`); }). catch(function(err) { console. error(`Erro ao agendar post: ${err}`); }); ``` ## Passo 4: Configurar a publicação Como a informação já foi cadastrada no Airtable, é hora de configurar a publicação de acordo com a data e a rede social escolhida. Para isso, precisaremos de um aplicativo dinâmico como Node-RED, que permite a criação de flowcharts que controlam a publicação das informações em diferentes redes sociais. ### Configuração em Node-RED 1. Instale o Node-RED e conecte-o à Internet. 2. Crie um novo flow com um início e um fim. 3. Adicione um nodo de inserção de texto para adicionar a mensagem do post ## Automatização de Publicações em Mídias Sociais com o n8n ### Introdução Neste vídeo, vou mostrar como usar o **n8n** para automatizar publicações em mídias sociais. ### Requisitos - Instalação do n8n - [Guia de instalação do n8n][n8n installation] - [Tutorial de vídeo de instalação do n8n][n8n installation video tutorial] - Banco de dados (Baser) - [Introdução ao Baser][Baser introduction] - [Documentação do Baser][Baser documentation] - [Plano gratuito do Baser][Baser free plan] ### Etapas 1. Crie uma aplicação nas seguintes páginas: - [Site do Desenvolvedor do Facebook][Facebook Developer's Site] - [Site do Desenvolvedor do Instagram][Instagram Developer's Site] - [Site do Desenvolvedor do LinkedIn][LinkedIn Developer's Site] - [Site do Desenvolvedor do Twitter][Twitter Developer's Site] 2. Crie um banco de dados no Baser 3. Instale e configure o n8n em seu VPS ou computador pessoal - [Guia de instalação do n8n][n8n installation] - [Tutorial de vídeo de instalação do n8n][n8n installation video tutorial] 4. Conecte-se às plataformas de mídia social pelo seu API (aplicativo) correspondente 5. Crie um fluxo para cada plataforma de mídia social com os nós necessários para a extratção de dados e a publicação de conteúdo. ### Cenários - Incluir dados para usuários não registrados no chatbot - Gerar automaticamente o número do WhatsApp, baseado no nome do Lead fornecido - Solicitar um recibo de pagamento adicional - Localizar a loja ou escritório - Assistência humana - fora do horário comercial - durante o horário comercial ## Demo Aprovado ## Agradecimentos - [Música 1][Musica 1] - [Música 2][Musica 2] [Música 1]: <https://www.youtube.com/watch?v=krCTgwkiYPY> [Música 2]: <https://www.youtube.com/watch?v=nJbIePH7zjU> ## Referências - [n8n](https://n8n.io/) - [Baser](https://baserow.io/) - [Guia de instalação do n8n](https://n8n.io/docs/getting-started/n8nio.html) - [Tutorial de vídeo de instalação do n8n](https://www.youtube.com/watch?v=efiGiWb62oA) - [Introdução ao Baser](https://www.youtube.com/watch?v=xNv9urI1QNc) - [Documentação do Baser](https://baserow.io/docs/) - [Plano gratuito do Baser](https://baserow.io/pricing-overview) - [Site do Desenvolvedor do Facebook](https://developers.facebook.com/) - [Site do Desenvolvedor do Instagram](https://developers.instagram.com/) - [Site do Desenvolvedor do LinkedIn](https://learn.microsoft.com/en-us/linkedin/services/developers/overview/introduction) - [Site do Desenvolvedor do Twitter](https://developer.twitter.com/) # Fluxo do API WhatsApp Business: Criar e Recuperar Informaçoeres de Usuário Apresenta-se facilmente este cenário, iniciando-se quando recebo a minha informação aqui no meu webhook. Lembrando que nesta descrição deixei o link para o vídeo onde mostro como criar então o seu bot do WhatsApp [Música] no site desenvolvedores. facebook. com. Aqui exibe-se então as informações que eu vou utilizar neste workflow. Aqui uso o método POST e, more precipuo não fiz nenhuma alteração. Agora já recebi ali informação, desde que é o número de celular que é o número da conta do usuário WhatsApp. Para demonstrar então: 1. **Primeiro cenário: ** Este cenário termina aqui. Logo após, o bot verifica se a mensagem está sendo enviada pelo usuário. Quando isso ocorre, ele verificará se a mensagem é entregue né pelo usuário através do chatbot ou pelo WhatsApp ou quando o usuário lê essa mensagem envia informação para o seu workflow, isso é bastante interessante né porque você pode adicionar essas informações e poder rastrear nelas. 2. **Verificar se a mensagem foi enviada por um número: ** Se a mensagem foi enviada por um número, significa que ele não é o do sistema né ou do WhatsApp. Nesse caso, ele canaliza para outro ramo: * Se houver esse número, ele já está cadastrado no chatbot. Nesse caso, ele abre a conta aqui e seleciona as minhas credenciais armazenadas em source, seleciona `Execução Operação getman`, seleciona minha Database aqui que eu chamo de `boletos` na tabela `clientes`, e solicito para retornar todos os registros aqui, porém incluo aqui um filtro especificando o `campo` que eu quero buscar, que neste caso é o `Número de Telefone WhatsApp`, igual àquele telefone que eu acabo de percorrer aqui no nó anterior no `IF`. Tá ok. Se o número aqui estiver cadastrado, ele segue para a próxima parte. . . * **Caso o número não esteja cadastrado: ** Nesse caso, se não encontrou o número, é necessário habilitar aqui e nas configurações do nó a opção `always output data`. Você clica aqui na engrenagemzinha e habilita essa opção aqui `always output data` para que ele segua né porque ao obter nenhum dado aqui na pesquisa, pois esse telefone ainda não existe. * **Não encontrado: ** Nesse caso, quando ele não existe, ele não mostra nada, pois eu busco la no `nó base` o número de telefone e aqui ele não trouxe porque ainda não existe. Então ele segue aqui para falso. . . né então eu pergunto aqui `Is Emp` se o campo `emp` ele precisa estar preenchido para ele seguir para esse outro ramo. Nesse caso, eu quero cadastrá-lo. * Em casos em que isso ocorre eu já incluo aqui percentualmente no `Base room` este número de telefone né. Então uso o recurso `Operação Create`, seleciono minha Database e minha tabela aqui, e selecionei `dados` nelas. Em seguida eu seleciono nesse meu ramo a minha tabela e adicionei o `campo` `Número de Telefone WhatsApp`. 3. **Criar o usuário: ** Após cadastrar o número no `Base room`, ele envia uma mensagem de WhatsApp né e aqui eu uso o nó do WhatsApp Cloud né da API oficial do WhatsApp. Recomendo lá obter algumas informações né que você obterá lá no seu aplicativo. Selecionei `Operação Resource Message Send`, e em send number selecionei o meu número de teste que é o número que eu vou usar. Selecionei aqui o tipo de mensagem de texto, e mandei a mensagem né, informando que o usuário é novo e que deve enviar seu nome para continuar com o atendimento. 4. **Capturar o nome: ** Quando o usuário informa o nome, ele segue para outro ramo. Aqui eu faço a pesquisa lá no `Base room` pelo número de celular que é do do usuário, e aqui é o mesmo caminho que eu percorri aqui no nó anterior, já que agora usará o mesmo número para fazer essa busca. Se o número já estiver cadastrado, ele terá o nome. Nesse caso, aqui é negado, pois somente tem um número né. Ele passa então e aqui não mostra nada, porque eu não encontrei nada na busca neles `Base room`. Nesse caso, quando ele não existe, ele segue aqui para falso. . . né então eu pergunto aqui `Is Emp` se o campo `emp` ele precisa estar preenchido para ele seguir para esse outro ramo. 5. **Atualizar o nome: ** Nesse caso, quando ele não existiu, ele não conseguiu encontrar o nome, então eu criei aqui um nó novo no `Base room`, utilizando a Operação `update`, selecionando minha Database e a mesma tabela, aqui eu peço para que ele atualize a linha que ele acabou de consultar né daquele número com base nestem número de telefone. Tá bem, então eu vou mostrar quais as opções aqui: * Se o usuário informou um nome, então é verdadeiro (positivo). Nesse caso, na operação `update` eu adicionei o nome como o válido que o usuário informou agora no meu bot ainda. * Se não informou um nome, então é negado (falso). Nesse caso, eu não adicionei nada, pois não estava preenchido. 6. **Envio da mensagem de boas-vindas: ** Agora, eu acho importante poder documentar e explicar melhor meus cenários, configurações e regras com documentação clara e concisa, de forma a facilitar a vida de quem rodar essa API hospedada no Facebook! 👍🚀 # Automatização de Lembretes para WhatsApp com Call. com. br e Twilio API ## Introdução Neste vídeo, mostrarei como automatizar o envio de lembretes para o WhatsApp sobre eventos reservados no [call. com. br](http://call.com.br), que também oferece um plano gratuito para indivíduos na versão SAS com eventos ilimitados e outros recursos. ## Prerequisitos - Conta no [call. com. br](http://call.com.br) - Conta no [Twilio](https://www.twilio.com/) - N8N (Workflow automatizado) - Caso deseje aprender ou aprimorar seu conhecimento em N8N, deixei aqui na descrição um link para o curso intensivo que vai contribuir de maneira muito positiva em sua jornada como profissional de automação. ## Passo a passo ### 1. Criação do Workflow no N8N - Adicione o seguinte Nó na sua Workflow: - `Twilio API` - Tipo: `Mensagem Personalizada` - Número de telefone WhatsApp: Digite o número do WhatsApp do destinatário - Enviar mensagem: Escreva a versão do lembrete que você deseja enviar (recomendado utilizar $\{EventName\}$, $\{EventLocation\}$ e $\{EventDate\}$ para personalizar a mensagem) - `Call. com. br API` - URL: Informe o endereço do link do seu evento na sua conta no Call. com. br - Dados de autenticação: Informe sua chave e segredo de autenticação no Call. com. br - Consultar eventos: Crie uma consulta para retornar os eventos que você deseja enviar como lembrete (recomendado utilizar $\{EventID\}$, $\{EventName\}**, \{EventLocation\}** e\{EventDate\} para filtrar os eventos a serem enviados como lembrete) ### 2. Configuração do Workflow periodico - Adicione o seguinte Nó na sua Workflow: - `Agendar tarefa` - Hora de execução para verificar os eventos no Call. com. br - Tipo: `Horário fixo` - Hora: Time - Minutos: 00 - Dia: Todos os dias ## Observações - A configuração dos Nós e das suas conexões acima são apenas um exemplo básico, é possível e recomendável adicionar mais opções para melhorar o Workflow para seu caso específico - É possível organizar sua Workflow em seções com títulos claros - Caso escolha utilizar o Call. com. br no seu Workflow, lembre-se de atualizar suas credenciais na API caso modifique o e-mail onde seus tokens de acesso estão armazenados ## Configuração da Twilio API Para utilizar a Twilio API, primeiramente é necessário criar uma conta no site. Após a criação, siga as instruções abaixo: 1. Ir ao seu painel e criar uma aplicação, a qual você adicionará seu número de telefone (que você utilizará para o envio da mensagem). 2. Adicione o número do WhatsApp do destinatário e sua senha no painel da Twilio. ## Referências - [Twilio](https://www.twilio.com/) - [Call. com. br](http://call.com.br) - [N8N](https://n8n.io/) # Lembrança de uma Reunião Anterior Este coluna serve como lembretes de uma reunião que ocorreu anteriormente. Aqui, eu manipulei os dados usando esta coluna. O meu objetivo era recuperar o filtro e os dados que corresponderem à data e hora do dia passado às 9h00. Vamos prosseguir agora. Escolhi a coluna e eu quero que ela retorne o filtro e os dados que correspondem. Aqui, irá refir-me à amostra dada onde o filtro procura por data e hora na hora de 9h00 do dia anterior ao presente. É bom prosseguir, então executemos o código aqui. O código trouxe de volta apenas um registro, que será minha lembretes. O lembretes será enviado às 15h00. Na sequência, adicionarei três blocos de código (blocos de código) para fins ilustrativos, com o objetivo de tornar a informação mais agradável à vista. Separei as funções aqui. Vamos entrar nesta parte do código JavaScript: ```javascript // Este script converte a primeira letra de cada palavra para maiúscula // Observe que tudo no bloco de código está em maiúsculas // A primeira parte do código transforma o caso do nome // Apenas a primeira letra do nome será alterada para maiúscula // Neste exemplo Claudio Balbino fica ClauDO com a primeira letra alterada para maiúscula // A segunda parte do código retorna apenas o primeiro nome // Aqui eu irei obter apenas o primeiro nome, pois o cliente pode ter fornecido um nome completo ou apenas um sobrenome. // Neste caso, o nome do cliente é apenas um sobrenome. ``` Executei o código, e como esperado, a primeira parte transformou o nome e apenas a primeira letra está em maiúsculas. ``` // O nome transformado é "CLAúDIO" // Aqui irei obter apenas o primeiro nome, por exemplo "CLAúDIO" neste caso ``` Na próxima parte do código, realizarei uma transformação no número de WhatsApp. Não o mostrarei pois isso não é o meu caso. Aqui está uma resumo dos passos: 1. Criei o código que transforma o número de WhatsApp. Substituiu caracteres especiais, espaços, e deixou de fora o DDD se estiver onde for abaixo de 30. Adiciona o código do país e o nono dígito se necessário. 2. Adicionei o código do país e o nono dígito ao número de WhatsApp se necessário. 3. Usarei o primeiro nome obetido para criar o texto do WhatsApp. 4. Recuperarei os dados e a hora da reunião do banco de dados (que é diferente de lembretes, este são os dados e a hora da reunião). 5. Usarei um lugar-holders para formatar o texto com a primeira 10 caracteres (correspondentes à data com barras), a data e hora da reunião, e o número de WhatsApp processado. 6. Executarei o código e enviei o texto pelo WhatsApp. O texto conterá os dados formatados. 7. Marquei uma linha no banco de dados para indicar que o lembretes foi enviado. Espero que este conteúdo seja útil para você. Vou lhe deixar um link para o vídeo no YouTube aqui onde você pode aprender mais sobre o setup do WhatsApp node e do app Cláudia Piai. Também deixarei um link para o vídeo onde aprenderá a usar o app Cláudia Piai, incluindo a criação de um token permanente. Escolhi "WhatsApp" como o aplicativo de mensagens. Se você não for familiarizado com ele, favor consultar o vídeo de descrição para instruções de como criar o aplicativo do WhatsApp no Facebook. O processo exigirá uma conta Facebook, e ia deixar um vídeo tutorial aqui também para esse propósito. O modelo de mensagem que uso é um lembretes de uma reunião programada, conforme mostrado abaixo. Note que também adicionei botões para confirmar a presença na reunião no clicado "Sim" ou "Não". Com as medidas tomadas, o script irá atualizar correspondente linha na tabela de notificação, marcando-a como enviada, pois o lembretes já foi enviado. Executarei o código fiel aqui. O script, após selecionar a operação "update", procurará pelo ID da linha que recebeu o lembretes por WhatsApp. Escolher o ID desta linha, pois ele corresponde ao ID da linha que recebeu o lembretes por WhatsApp. Por fim, adicionei alguns campos na tabela para o novo dado, como o campo "enviada" que marco como "true" para indicar que o lembretes foi enviado. Executarei o script e ele marcará o campo "enviada" na base de dados, indicando que o lembretes foi enviado. Se gostou deste conteúdo, lembre-se de escrever um comentário abaixo! É fundamental para o canal direcionar o nosso conteúdo próximo com sua feedback. Você pode acessar todos os códigos apresentados neste canal. Se você não tiver acesso, deixarei um link no vídeo de descrição para sua assinatura. [Material do vídeo excluído] Se sustentou até aqui, deixarei um link para o vídeo de descrição abaixo com todos os códigos prontos. [Material do vídeo excluído] Espero que este videojogos seja útil. Se gostou do video, favor dar um bis avante reservado e comente abaixo. É essencial para nossa canal crescer. Até a próxima vídeo, boa sorte! === Video 12: <https://www.youtube.com/watch?v=B6IYJYU-x-A> (Português) === Olá e bem-vindo ao canal! Vamos [automatizar](https://github.com/claudioalbino/awesome-smart-home-selfhosted/) juntos! Eu sou Claudio Albino, e neste vídeo vou ensinar-lhe como criar um publication em formato carrossel no Instagram com a ferramenta Winery. Se você ainda não souber da ferramenta Winery, favor consultar o vídeo na descrição para uma introdução à essa ferramenta de automação. Eu comecei adicionando o módulo "Carousel" como primeiro módulo, simulando a execução de um horário. Você pode adicionar outros horários aqui. O segundo módulo que utilizei é o repositório de e-mails, pois uso-o para meus posts em mídias sociais. Em minha situação real do mundo, insiroi as informações necessárias para programar meus posts em Facebook, Instagram, LinkedIn, e Twitter. Aqui amusei uso do caso dado, que consiste de um carrossel. Observe que eu uso um campo "date" para filtrar por período, pois uso diferentemente no vídeo anterior para o meu cenário real. Criei um container para cada item e utilizarei o módulo "HTTP Request" para obter a informação necessária. Obti para a publicação do carrossel no Instagram. A publicação de um carrossel consiste em três etapas: 1. Você precisa criar um container para cada item. 2. Crie um container para o carrossel e publique-o. 3. Com o carrossel e seus itens criados em sua workflow, vá para Instagran e publique-o lá. Vamos começar o primeiro passo: criar um container para cada item. Aqui tem um exemplo do documento, que uso: 1. Primeiro, você precisa criar um container para um item: ```javascript // Você colocar o URL do container aqui // Este URL nem size em copiar clicando no botão "Copy Error" ``` 2. Em seguida, faça um requisição HTTP no módulo "HTTP Request" para obter a informação necessária: ```javascript // Aqui coloco o módulo "HTTP Request" e insiro o URL // Você depois coloca o URL na caixa "Request URL" no módulo "HTTP Request" ``` Continua ao segundo passo: criar o container para o carrossel: 1. Segundo, é criar o container do carrossel e publique-o: ```javascript // Siga as instruções no documento sobre a criação do container de carrossel e publicação ``` Precisou do terceiro passo? 1. Passo três: ```javascript // Siga as instruções no documento sobre a publicação do carrossel no Instagram com os seus itens criados na sua workflow ``` Com isso, já chegamos ao final do primeiro vídeo. Com este vídeo eu o esclareci a edição de publicações em formato carrossel no Instagran com o uso da ferramenta de automação Winery. Você pode consultar a documentação no "Instagram" da pasta "/docs" no repositório para mais informações. Boa suerte e tenha uma boa semana! Este é um exemplo de como utilizar a ferramenta `http-request` no n8n para importar dados de uma URL através de um script: 1. Primeiro, adicione um novo nó chamado "http-request" no seu workflow. ```markdown - http-request ``` 2. Em seguida, crie as propriedades na janela de configuração do nó `http-request`. Neste exemplo, iremos importar dados da URL: `https://meuedomaino.com/api/my-data`. ```markdown - URL de Requisição: https://meuedomaino.com/api/my-data - Método de Requisição: GET ``` 3. Dependendo da API, você poderá precisar de parâmetros para autorização. Para o nosso exemplo, adicionaremos o cabeçalho `Authorization` com o token gerado previamente. ```markdown - Cookie: <token_gerado> ``` 4. Certifique-se de adicionar os headers de autenticação ou outros que sejam necessários para utilizar a API. ```markdown - Headers: - name: Autorização value: <token_gerado> ``` 5. Para verificar os dados retornados pela API, crie um nó de "Codificação JSON" *ou* "Mensagem JSON" após o nó `http-request`. ```markdown - Decode JSON ``` 6. Se o formato de resposta da sua API for diferente, você pode alterar a propriedade `Format` na opção "Reformatar JSON" para adaptá-lo ao seu formato esperado. 7. Agora, você pode fazer a manipulação ou visualização dos dados importados conforme necessário. Por exemplo, adicione um nó de "Adicionar campo" para incluir algum domínio personalizado nos campos de dados retornados. ```markdown - Adicionar Campo - Nome: Custom Valor: example ``` 8. Não se esqueça de salvar e executar o workflow para ver os resultados. Para traduzir e formatar o texto utilizando o Markdown e português de Portugal, uso o seguinte texto: ```markdown Vai pegar payload com início de tempo - O payload começa nesse momento, nós começaremos a formatar a hora nesse caso, localização para Lisboa. É bom pois ele apresenta no horário atual aqui: 9 junho às 12: 00. Contudo, eu reservei para 9: 00, então formataremos para as 9: 00 do dia 9. Posso calcular, então farei um cálculo de uma hora a menos que foi reservada. Irá pegar da mesma maneira, no campo payload com entrada de tempo, mas vou usar a operação 'subtract' para subtrair uma hora. Você também escolherá 'Time Unit' e 'Hora' aqui. Eu atribui um nome aqui: 'C late 1 hora'. Ele também traz nesse formato da mesma maneira, preciso formatá-lo para nosso fusão horária. Agora faço a mesma coisa para a informação de saída, que eu chamei de 'C late 1 hora'. Ele está aqui como 11: 00. Vou personalizar-lo para este formato, utilizando o 'Time Zone' Europe/Lisbon. Assim ele já me entrega 'C late 1 hora' no dia 9/06 às 8: 00, ou seja, 1 hora antes do que eu reservei no site [call. com](http://call.com). Em seguida, adicionei uma seção 'Swift', onde recupero trabalhos e eventos. A primeira saída é zero, então eu utilizo as informações do evento 'Booking created'. Ou seja, quando o evento for criado, eu obterei as seguintes informações: - ID do evento - Nome da pessoa que reservou - E-mail da pessoa que reservou - Número de WhatsApp da pessoa que reservou - Data e hora de reserva (formatada automaticamente com base no novo tempo formatado) - Data e hora para envio de lembrete para o WhatsApp Depois, vou mostrar alguns cenários possíveis: a alteração de agenda e cancelamento. Tomo um recado: se você deseja tornar-se um profissional completo em automação com o n8n, aprenda desde a instalação e configuração da plataforma até o desenvolvimento avançado de workflows no curso n8n Full Stack Automation oferecido pela Auto parceira neste canal, que são disponíveis por uma taxa única de € 834, ou até 12 parcelas com juros acrescidos. Depois, fiz o reagendamento. Recongendoi para as 10: 00. Como fiz o reagendamento, ele mostra na minha saída um evento 'Trigger', que indica que foi reagendado. Então, primeiro preciso fazer a consulta. Vou consultar a linha anterior. Obtive, então, o 'reschedule uid', que é o ID anterior. Assim eu posso consistentemente pegar o ID anterior de cada evento, caso eu precisse fazer alguma consulta acerca de alguma linha anterior na tabela. Agora que eu tenho o ID anterior do evento atual, utilizo-o para reprogramar o tempo, usando a operação 'update'. Nessa linha, inicialmente foi criada com o agendamento original. Então, envio um comando de adição de uma nova operação bas room ('Bas room'), onde faço as alterações desejada no agendamento. Consulto a coluna 'filtro' na linha anterior, buscando o ID do evento com o valor 'Body payload ID' obtido anteriormente. Então, adiciono a nova linha com as novas informações, inclusive o ID do evento reprogramado. Após isso, faço o cancelamento do evento. Em seguida, quando ele for cancelado, ele mostra novamente o evento 'Trigger', como cancelado, e vem para cá as minhas informações desejadas. Faço da mesma maneira, fazendo um getman na minha Base room, para consultar a linha com o ID do evento cancelado. Então dele elimino a linha por meio da operação 'delete'. Assim, a tabela é sincronizada com os dados de eventos que foram reservados, agendados, reagendados e cancelados. ``` # Aplicação para automatização utilizando a API Inicial, a API do Twitter (Alfa2) e a API do Twitch Este texto explica como usar uma aplicação para automatizar tarefas com a API do Twitter Alfa2 e a API do Twitch, usando a API Inicial. ## Credenciais Existem duas opções de credenciais: * **Alvin**: primeiro, você o usará para fazer upload de imagens * **Alfa2 Epa**: para Twitter postagens ou exclusão de Twitch Para utilizar qualquer uma das opções, você precisará: 1. Copiar a *Inicial* e colear aqui, seguido do *chave de secreta de consumidor* e adicionar o *segredo do cliente*. 2. Reitere este procedimento para *Ualfi2* seguido do *segredo de consumidor* e o *segredo de cliente* ## URLs Após este procedimento, você terá duas URLs: * Uma para obter as suas credenciais de Alfa1 * Outra para obter as suas credenciais de Alfa2 Epa ## Tabela de publicações Adicione uma tabela a sua base de dados com as seguintes informações: * **Data**: conforme o período no qual seu job será executado (caso você tenha esta informação) * **Twitter**: se a publicação no Twitter já foi executada (não deve corresponder ao período obtido anteriormente) Baseando-se nestas informações, você pode validar se as publicações atendem aos seguintes critérios: * A coluna **Twitter** deve estar marcada como verdadeira. * O período (também considerado na sua região) deve ser diferente ao último período obtido. ## Upload de imagens Para fazer upload de imagens, utilize o método POST associado à API 1. 1 do Twitter seguindo a sequência abaixo: 1. Adicione um cabeçalho para `Autorização` com o token de acesso. 2. Adicione um cabeçalho para `Content-Type` com o tipo especificado (por exemplo, `multipart/form-data` para arquivos binários). 3. Adicione um cabeçalho para `Media` com o caminho do arquivo do mês 1 e propriedade `Content-Type` com o tipo do arquivo binário (por exemplo, `image/jpeg`). 4. Enviar a solicitação. O servidor retornará uma resposta com um link para a imagem carregada. ## Método para usar a API V2 do Twitter Para utilizar a API V2 do Twitter na versão Alfa2, faça a seguinte configuração: 1. Adicione o método POST Login à API V2. 2. Adicione as credenciais de Alfa2 Epa. 3. Adicione o token de acesso gerado em sua tabela de publicações. 4. Adicione o link da imagem no método de upload de imagens ou em seu URL para Twitch. ## Link do playlist dedicado à ferramenta: [aqui](https://drive.google.com/drive/u/1/folders/1Lps2dnN_iobV0PnXN_5U_h2kDC7LgH39) *O texto original é reprovado porque utiliza expressões usuais dos EUA no lugar das brasileirismos adequados e as termos são especificos à tecnologia utilizada pelas APIs da Twitch e Twitter e que podem mudar à medida que elas atualizam, alegando por este motivo preservar os nomes da aplicação. * Eu apenas correji, reformatie e adaptaste ao Markdown este texto com todas as alterações aprovadas no formato especificado: ## Aplicação para automatização usando Aqui está o texto convertido para português de Portugal com a formatação Markdown preservada: --- Instruções para criar um chatbot com inteligência artificial da Open AI utilizando o recurso "Tools" do n8n: 1. Crie dois workflows: um para o chatbot e outro para obter informações dos produtos. (Onde o uso do recurso do próprio n8n para chat será utilizado) 2. Adicione uma mensagem adicional e alguns campos para personalizar no chat Trigger. 3. Utilize o recurso da Open AI, adicionando o bloco da Open AI no segundo workflow. Certifique-se de criar sua credencial. 4. Selecione o Assistente e a operação "Mensagem assistente". 5. Adicione instruções para o ajudante, como: * Responda em português de Portugal. * Contesta somente às perguntas com relação à Doutor Reparo (marca). * Inclua emojis nas respostas. 6. O novo assistente virtual da empresa Doutor Reparo responda apenas perguntas com relação à empresa. 7. Crie um custom n2n workflow tool e configure-o para chamar o workflow dos produtos ao solicitar informações de produtos. 8. Na resposta, retorne uma lista de produtos no formato: ``` Produto, Marca, Preço, Link ``` Por exemplo: ``` Produto A, Marca X, 100. 00 € EUR, https://www.example.com/product-a Produto B, Marca Y, 150. 00 € EUR, https://www.example.com/product-b ``` Use o recurso "Database" para obter as informações da tabela de produtos. 9. Para obter o ID do workflow que você deseja chamar, obtenha-o da URL ou das configurações, conforme mostrado em "Qual é o ID do workflow que você quero chamar? ". Use as duas maneiras para obter o ID do workflow, que pode ser obtido diretamente na URL ou nas configurações. 10. Verifique se o nome do campo que retorna a consulta contém vírgula. Se houver, divida-o em um array. 11. Crie um intervalo entre as consultas de produto para evitar sinalizações em caso de respostas assíncronas. Espero que esse passo a passo tenha ajudado a você a criar um chatbot com inteligência artificial da Open AI sem problemas. Por favor, não esqueça de nos apresentar as suas criações no nosso canal. --- Seu vídeo em português aqui: https://www.youtube.com/watch?v=MmXuYphWONA (Idioma: pt) Boa sorte na criação do seu chatbot! Abraços. # Documentação Técnica: Introdução ao N8N, utilizando Markdown (Português de Portugal) ## Introdução O **nome do script** é o `resposta` e ele vai retornar o `formato` e a `resposta`, conforme o **padrão** a seguir: ``` { "nome_do_produto": "PRODUTO MARCA VALOR E LINK", "link_do_produto": "URL DO PRODUTO" } Ele irá **obter** as informações **variáveis** `nome_do_produto`, `link_do_produto` e `pesquisa_do_produto` do **produto**. Se não encontrar por exemplo o **produto 'B'**, ele retornará para o **loop** para dar **seqüência** novamente na consulta. Neste exemplo, **pedi** três **produtos** 'A', 'C' e 'F'. Quando executar cada um deles, no **fim**, estará adicionando o nó de `aggregate` que **agrupará** e **devolverá** uma lista de produtos. ## Teste Primeiro, faremos um **teste** utilizando o chat do próprio **N8N**. A primeira pergunta será uma solicitação de **orçamento de serviços**. Ele deve compreender **perfeitamente** e retornar os **dados** solicitados. As **canais** de contato para solicitar o **orçamento** estão determinados na minha **PDF**, ele trouxe o número de telefone `WhatsApp` e email. Agora, fazer a pergunta sobre os **produtos** 'A', 'C' e 'F'. Quando ele retorna apenas um deles, verificaremos se também podemos utilizar dois. Depois, em Don você estará **adicionando** então o nó de `aggregate`, que **agrupará** e devolvendo uma lista **de produtos**. ## Conclusões - Aceder aos **produtos** 'A', 'C' e 'F'. - O **modelo** deve ser treinado e **ajustado** para fazer consultas e para garantir que as informações retornadas sejam as requisitadas. - **Não há informações sobre o produto 'B' na nossa base de dados**. ## Informações de Contato - Redes Sociais: - Facebook: . . . - Instagram: . . . ## Ferramentas disponíveis - O **recurso** de **Tools** dentro do seu chat é utilizado para **explorar outros bancos de dados** e outros recursos. ## Se deseja integrar com outras ferramentas - A integração com outras ferramentas é possível utilizando a interface de **Type bot** e adicionando o **Web Hook**, selecionando a opção **define Bell** e na saída do hook, adicionando o respond `web Hook`. Espero que você tenha gostado do conteúdo, se você gostou, me deixe um comentário aqui. Se você está utilizando os recursos do Lenin N8N e deseja contribuir, partilhe com pessoas que também estão interessadas em conteúdo do tipo este e insira-se neste canal, para receber novos conteúdos sem custo. Espero que você te intimate no próximo vídeo e um grande abraço! 